home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cato / Xm / XmLabelGadget.z / XmLabelGadget
Text File  |  1998-10-20  |  43KB  |  661 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt - The LabelGadget widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXXmmmm////LLLLaaaabbbbeeeellllGGGG....hhhh>>>>
  13.  
  14.  
  15.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  16.           This page documents version 1.2 of the Motif library.
  17.  
  18.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.           LabelGadget is an instantiable widget and is also used as a
  20.           superclass for other button gadgets, such as
  21.           PushButtonGadget and ToggleButtonGadget.
  22.  
  23.           LabelGadget can contain either text or a pixmap.
  24.           LabelGadget text is a compound string.  Refer to the
  25.           _O_S_F/_M_o_t_i_f _P_r_o_g_r_a_m_m_e_r'_s Guide for more information on
  26.           compound strings.  The text can be multilingual, multiline,
  27.           and/or multifont.  When a LabelGadget is insensitive, its
  28.           text is stippled, or the user-supplied insensitive pixmap is
  29.           displayed.
  30.  
  31.           LabelGadget supports both accelerators and mnemonics
  32.           primarily for use in LabelGadget subclass widgets that are
  33.           contained in menus.  Mnemonics are available in a  menu
  34.           system when the button is visible.  Accelerators in a menu
  35.           system are accessible even when the button is not visible.
  36.           The LabelGadget displays the mnemonic by underlining the
  37.           first matching character in the text string.  The
  38.           accelerator is displayed as a text string adjacent to the
  39.           label text or pixmap.
  40.  
  41.           LabelGadget consists of many margin fields surrounding the
  42.           text or pixmap.  These margin fields are resources that may
  43.           be set by the user, but LabelGadget subclasses and Manager
  44.           parents also modify some of these fields.  They tend to
  45.           modify the XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp, and
  46.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm resources and leave the XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh and
  47.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt resources as set by the application.
  48.  
  49.           LabelGadget takes into account XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss in
  50.           determining its layout but does not draw the shadow.  That
  51.           is, if XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss is greater than 0, LabelGadget
  52.           leaves space for the shadow, but the shadow does not appear.
  53.  
  54.           In a LabelGadget XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrssssaaaallllOOOOnnnn and XXXXmmmmNNNNhhhhiiiigggghhhhlllliiiigggghhhhttttOOOOnnnnEEEEnnnntttteeeerrrr are
  55.           forced to False inside Popup MenuPanes, Pulldown MenuPanes,
  56.           and OptionMenus.  Otherwise these resources default to
  57.           False.
  58.  
  59.         CCCCllllaaaasssssssseeeessss
  60.  
  61.  
  62.  
  63.      PPPPaaaaggggeeee 1111                                          ((((pppprrrriiiinnnntttteeeedddd 4444////33330000////99998888))))
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           LabelGadget inherits behavior and resources from OOOObbbbjjjjeeeecccctttt,
  75.           RRRReeeeccccttttOOOObbbbjjjj and XXXXmmmmGGGGaaaaddddggggeeeetttt classes.
  76.  
  77.           The class pointer is xxxxmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeettttCCCCllllaaaassssssss.
  78.  
  79.           The class name is XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt.
  80.  
  81.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  82.           The following table defines a set of widget resources used
  83.           by the programmer to specify data.  The programmer can also
  84.           set the resource values for the inherited classes to set
  85.           attributes for this widget.  To reference a resource by name
  86.           or by class in a .Xdefaults file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  87.           prefix and use the remaining letters.  To specify one of the
  88.           defined values for a resource in a .Xdefaults file, remove
  89.           the XXXXmmmm prefix and use the remaining letters (in either
  90.           lowercase or uppercase, but include any underscores between
  91.           words).  The codes in the access column indicate if the
  92.           given resource can be set at creation time (C), set by using
  93.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  94.           not applicable (N/A).
  95.  
  96.                                             XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  97.      NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  98.      _________________________________________________________________________________________________________
  99.      XmNaccelerator              XmCAccelerator              String              NULL                   CSG
  100.      XmNacceleratorText          XmCAcceleratorText          XmString            NULL                   CSG
  101.      XmNalignment                XmCAlignment                unsigned char       dynamic                CSG
  102.      XmNfontList                 XmCFontList                 XmFontList          dynamic                CSG
  103.      XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  104.      XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  105.      XmNlabelString              XmCXmString                 XmString            dynamic                CSG
  106.      XmNlabelType                XmCLabelType                unsigned char       XmSTRING               CSG
  107.      XmNmarginBottom             XmCMarginBottom             Dimension           0                      CSG
  108.      XmNmarginHeight             XmCMarginHeight             Dimension           2                      CSG
  109.      XmNmarginLeft               XmCMarginLeft               Dimension           0                      CSG
  110.      XmNmarginRight              XmCMarginRight              Dimension           0                      CSG
  111.      XmNmarginTop                XmCMarginTop                Dimension           0                      CSG
  112.      XmNmarginWidth              XmCMarginWidth              Dimension           2                      CSG
  113.      XmNmnemonic                 XmCMnemonic                 KeySym              NULL                   CSG
  114.      XmNmnemonicCharSet          XmCMnemonicCharSet          String              dynamic                CSG
  115.      XmNrecomputeSize            XmCRecomputeSize            Boolean             True                   CSG
  116.      XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                CSG
  117.  
  118.  
  119.           XXXXmmmmNNNNaaaacccccccceeeelllleeeerrrraaaattttoooorrrr
  120.                     Sets the accelerator on a button widget in a menu,
  121.                     which activates a visible or invisible, but
  122.                     managed, button from the keyboard.  This resource
  123.                     is a string that describes a set of modifiers and
  124.                     the key that may be used to select the button.
  125.                     The format of this string is identical to that
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                     used by the translations manager, with the
  141.                     exception that only a single event may be
  142.                     specified and only KKKKeeeeyyyyPPPPrrrreeeessssssss events are allowed.
  143.  
  144.                     Accelerators for buttons are supported only for
  145.                     PushButtonGadgets and ToggleButtonGadgets in
  146.                     Pulldown and Popup menus.
  147.  
  148.           XXXXmmmmNNNNaaaacccccccceeeelllleeeerrrraaaattttoooorrrrTTTTeeeexxxxtttt
  149.                     Specifies the text displayed for the accelerator.
  150.                     The text is displayed adjacent to the label string
  151.                     or pixmap.  Accelerator text for buttons is
  152.                     displayed only for PushButtonGadgets and
  153.                     ToggleButtonGadgets in Pulldown and Popup Menus.
  154.  
  155.           XXXXmmmmNNNNaaaalllliiiiggggnnnnmmmmeeeennnntttt
  156.                     Specifies the label alignment for text or pixmap.
  157.  
  158.  
  159.                       +o  XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG (left alignment)-causes
  160.                          the left sides of the lines of text to be
  161.                          vertically aligned with the left edge of the
  162.                          gadget.  For a pixmap, its left side is
  163.                          vertically aligned with the left edge of the
  164.                          gadget.
  165.  
  166.                       +o  XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____CCCCEEEENNNNTTTTEEEERRRR (center alignment)-causes
  167.                          the centers of the lines of text to be
  168.                          vertically aligned in the center of the
  169.                          gadget.  For a pixmap, its center is
  170.                          vertically aligned with the center of the
  171.                          gadget.
  172.  
  173.                       +o  XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____EEEENNNNDDDD (right alignment)-causes the
  174.                          right sides of the lines of text to be
  175.                          vertically aligned with the right edge of the
  176.                          gadget.  For a pixmap, its right side is
  177.                          vertically aligned with the right edge of the
  178.                          gadget.
  179.  
  180.  
  181.                     The above descriptions for text are correct when
  182.                     XXXXmmmmNNNNssssttttrrrriiiinnnnggggDDDDiiiirrrreeeeccccttttiiiioooonnnn is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____LLLL____TTTTOOOO____RRRR;
  183.                     the descriptions for XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG and
  184.                     XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____EEEENNNNDDDD are switched when the resource is
  185.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____RRRR____TTTTOOOO____LLLL.
  186.  
  187.                     If the parent is a RowColumn whose XXXXmmmmNNNNiiiissssAAAAlllliiiiggggnnnneeeedddd
  188.                     resource is True, XXXXmmmmNNNNaaaalllliiiiggggnnnnmmmmeeeennnntttt is forced to the
  189.                     same value as the RowColumn's XXXXmmmmNNNNeeeennnnttttrrrryyyyAAAAlllliiiiggggnnnnmmmmeeeennnntttt if
  190.                     the RowColumn's XXXXmmmmNNNNrrrroooowwwwCCCCoooolllluuuummmmnnnnTTTTyyyyppppeeee is XXXXmmmmWWWWOOOORRRRKKKK____AAAARRRREEEEAAAA or
  191.                     if the gadget is a subclass of XmLabelGadget.
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  203.  
  204.  
  205.  
  206.                     Otherwise, the default is XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____CCCCEEEENNNNTTTTEEEERRRR.
  207.  
  208.           XXXXmmmmNNNNffffoooonnnnttttLLLLiiiisssstttt
  209.                     Specifies the font of the text used in the gadget.
  210.                     If this value is NULL at initialization, the font
  211.                     list is initialized by looking up the parent
  212.                     hierarchy of the widget for an ancestor that is a
  213.                     subclass of the XmBulletinBoard, VendorShell, or
  214.                     XmMenuShell widget class.  If such an ancestor is
  215.                     found, the font list is initialized to the
  216.                     XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt (for button gadget subclasses)
  217.                     or XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt of the ancestor widget.  If no
  218.                     such ancestor is found, the default is
  219.                     implementation dependent.  Refer to XXXXmmmmFFFFoooonnnnttttLLLLiiiisssstttt((((3333XXXX))))
  220.                     for more information on the creation and structure
  221.                     of a font list.
  222.  
  223.           XXXXmmmmNNNNllllaaaabbbbeeeellllIIIInnnnsssseeeennnnssssiiiittttiiiivvvveeeePPPPiiiixxxxmmmmaaaapppp
  224.                     Specifies a pixmap used as the button face if
  225.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP and the button is
  226.                     insensitive.  The default value,
  227.                     XXXXmmmmUUUUNNNNSSSSPPPPEEEECCCCIIIIFFFFIIIIEEEEDDDD____PPPPIIIIXXXXMMMMAAAAPPPP, displays an empty label.
  228.  
  229.           XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp
  230.                     Specifies the pixmap when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  231.                     XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP.  The default value,
  232.                     XXXXmmmmUUUUNNNNSSSSPPPPEEEECCCCIIIIFFFFIIIIEEEEDDDD____PPPPIIIIXXXXMMMMAAAAPPPP, displays an empty label.
  233.  
  234.           XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  235.                     Specifies the compound string when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  236.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.  If this value is NULL, it is
  237.                     initialized by converting the name of the gadget
  238.                     to a compound string.  Refer to XXXXmmmmSSSSttttrrrriiiinnnngggg((((3333XXXX)))) for
  239.                     more information on the creation and the structure
  240.                     of compound strings.
  241.  
  242.           XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee
  243.                     Specifies the label type.
  244.  
  245.  
  246.                       +o  XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG - text displays XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  247.  
  248.                       +o  XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP - icon data in pixmap displays
  249.                          XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp or XXXXmmmmNNNNllllaaaabbbbeeeellllIIIInnnnsssseeeennnnssssiiiittttiiiivvvveeeePPPPiiiixxxxmmmmaaaapppp
  250.  
  251.  
  252.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm
  253.                     Specifies the amount of spacing between the bottom
  254.                     of the label text and the top of the bottom margin
  255.                     specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt.  This may be
  256.                     modified by LabelGadget's subclasses.  For
  257.                     example, CascadeButtonGadget may increase this
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  269.  
  270.  
  271.  
  272.                     field to make room for the cascade pixmap.
  273.  
  274.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt
  275.                     Specifies an equal amount of spacing above the
  276.                     margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp and below the
  277.                     margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm. XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt
  278.                     specifies the amount of spacing between the top
  279.                     edge of the margin set by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp and the
  280.                     bottom edge of the top shadow, and the amount of
  281.                     spacing between the bottom edge of the margin
  282.                     specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm and the top edge of
  283.                     the bottom shadow.
  284.  
  285.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt
  286.                     Specifies the amount of spacing between the left
  287.                     edge of the label text and the right side of the
  288.                     left margin (specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh).  This
  289.                     may be modified by LabelGadget's subclasses.  For
  290.                     example, ToggleButtonGadget may increase this
  291.                     field to make room for the toggle indicator and
  292.                     for spacing between the indicator and label.
  293.                     Whether this actually applies to the left or right
  294.                     side of the label may depend on the value of
  295.                     XXXXmmmmNNNNssssttttrrrriiiinnnnggggDDDDiiiirrrreeeeccccttttiiiioooonnnn.
  296.  
  297.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt
  298.                     Specifies the amount of spacing between the right
  299.                     edge of the label text and the left side of the
  300.                     right margin (specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh).  This
  301.                     may be modified by LabelGadget's subclasses.  For
  302.                     example, CascadeButtonGadget may increase this
  303.                     field to make room for the cascade pixmap.
  304.                     Whether this actually applies to the left or right
  305.                     side of the label may depend on the value of
  306.                     XXXXmmmmNNNNssssttttrrrriiiinnnnggggDDDDiiiirrrreeeeccccttttiiiioooonnnn.
  307.  
  308.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp
  309.                     Specifies the amount of spacing between the top of
  310.                     the label text and the bottom of the top margin
  311.                     specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt.  This may be
  312.                     modified by LabelGadget's subclasses.  For
  313.                     example, CascadeButtonGadget may increase this
  314.                     field to make room for the cascade pixmap.
  315.  
  316.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh
  317.                     Specifies an equal amount of spacing to the left
  318.                     of the margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt and to the
  319.                     right of the margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt.
  320.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh specifies the amount of spacing
  321.                     between the left edge of the margin set by
  322.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt and the right edge of the left
  323.                     shadow, and the amount of spacing between the
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  335.  
  336.  
  337.  
  338.                     right edge of the margin specified by
  339.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt and the left edge of the right
  340.                     shadow.
  341.  
  342.           XXXXmmmmNNNNmmmmnnnneeeemmmmoooonnnniiiicccc
  343.                     Provides the user with an alternate means of
  344.                     activating a button.  A button in a MenuBar, a
  345.                     Popup MenuPane, or a Pulldown MenuPane can have a
  346.                     mnemonic.
  347.  
  348.                     This resource contains a keysym as listed in the
  349.                     X11 keysym table.  The first character in the
  350.                     label string that exactly matches the mnemonic in
  351.                     the character set specified in XXXXmmmmNNNNmmmmnnnneeeemmmmoooonnnniiiiccccCCCChhhhaaaarrrrSSSSeeeetttt
  352.                     is underlined when the button is displayed.
  353.  
  354.                     When a mnemonic has been specified, the user
  355.                     activates the button by pressing the mnemonic key
  356.                     while the button is visible.  If the button is a
  357.                     CascadeButtonGadget in a MenuBar and the MenuBar
  358.                     does not have the focus, the user must use the
  359.                     MMMMAAAAlllltttt modifier while pressing the mnemonic.  The
  360.                     user can activate the button by pressing either
  361.                     the shifted or the unshifted mnemonic key.
  362.  
  363.           XXXXmmmmNNNNmmmmnnnneeeemmmmoooonnnniiiiccccCCCChhhhaaaarrrrSSSSeeeetttt
  364.                     Specifies the character set of the mnemonic for
  365.                     the label.  The default is XXXXmmmmFFFFOOOONNNNTTTTLLLLIIIISSSSTTTT____DDDDEEEEFFFFAAAAUUUULLLLTTTT____TTTTAAAAGGGG.
  366.  
  367.           XXXXmmmmNNNNrrrreeeeccccoooommmmppppuuuutttteeeeSSSSiiiizzzzeeee
  368.                     Specifies a Boolean value that indicates whether
  369.                     the gadget shrinks or expands to accommodate its
  370.                     contents (label string or pixmap) as a result of
  371.                     an XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss resource value that would change
  372.                     the size of the gadget.  If True, the gadget
  373.                     shrinks or expands to exactly fit the label string
  374.                     or pixmap.  If False, the gadget never attempts to
  375.                     change size on its own.
  376.  
  377.           XXXXmmmmNNNNssssttttrrrriiiinnnnggggDDDDiiiirrrreeeeccccttttiiiioooonnnn
  378.                     Specifies the direction in which the string is to
  379.                     be drawn.  The following are the values:
  380.  
  381.  
  382.                       +o  XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____LLLL____TTTTOOOO____RRRR - left to right
  383.  
  384.                       +o  XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____RRRR____TTTTOOOO____LLLL - right to left
  385.  
  386.  
  387.                     The default for this resource is determined at
  388.                     creation time.  If no value is specified for this
  389.                     resource and the widget's parent is a manager, the
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     value is inherited from the parent; otherwise, it
  405.                     defaults to XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____LLLL____TTTTOOOO____RRRR.
  406.  
  407.  
  408.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  409.           LabelGadget inherits behavior and resources from the
  410.           following superclasses.  For a complete description of each
  411.           resource, refer to the man page for that superclass.
  412.  
  413.                                     XXXXmmmmGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  414.      NNNNaaaammmmeeee                    CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  415.      ___________________________________________________________________________________
  416.      XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic   G
  417.      XmNhelpCallback         XmCCallback             XtCallbackList     NULL      C
  418.      XmNhighlightColor       XmCHighlightColor       Pixel              dynamic   G
  419.      XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False     CSG
  420.      XmNhighlightThickness   XmCHighlightThickness   Dimension          0         CSG
  421.      XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE    CSG
  422.      XmNshadowThickness      XmCShadowThickness      Dimension          0         CSG
  423.      XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic   G
  424.      XmNtraversalOn          XmCTraversalOn          Boolean            False     CSG
  425.      XmNunitType             XmCUnitType             unsigned char      dynamic   CSG
  426.      XmNuserData             XmCUserData             XtPointer          NULL      CSG
  427.  
  428.                               RRRReeeeccccttttOOOObbbbjjjj RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  429.       NNNNaaaammmmeeee                   CCCCllllaaaassssssss            TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  430.       ____________________________________________________________________
  431.       XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
  432.       XmNborderWidth         XmCBorderWidth   Dimension   0         CSG
  433.       XmNheight              XmCHeight        Dimension   dynamic   CSG
  434.       XmNsensitive           XmCSensitive     Boolean     True      CSG
  435.       XmNwidth               XmCWidth         Dimension   dynamic   CSG
  436.       XmNx                   XmCPosition      Position    0         CSG
  437.       XmNy                   XmCPosition      Position    0         CSG
  438.  
  439.                               OOOObbbbjjjjeeeecccctttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  440.       NNNNaaaammmmeeee                 CCCCllllaaaassssssss         TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  441.       ____________________________________________________________________
  442.       XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C
  443.  
  444.         BBBBeeeehhhhaaaavvvviiiioooorrrr
  445.           XmLabelGadget includes behavior from XmGadget.  Additional
  446.           XmLabelGadget behavior is described below:
  447.  
  448.  
  449.           BBBBDDDDrrrraaaagggg PPPPrrrreeeessssssss:
  450.                     Drags the contents of a LabelGadget, identified by
  451.                     pressing BBBBDDDDrrrraaaagggg.  This action creates a DragContext
  452.                     object whose XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss resource is set to
  453.                     "COMPOUND_TEXT" for a label type of XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG;
  454.                     otherwise, "PIXMAP" if the label type is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP.
  455.                     This action is undefined for LabelGadgets used in
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  467.  
  468.  
  469.  
  470.                     a menu system.
  471.  
  472.           KKKKHHHHeeeellllpppp:    In a Popup or Pulldown MenuPane, unposts all menus
  473.                     in the menu hierarchy and, when the shell's
  474.                     keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, restores
  475.                     keyboard focus to the widget that had the focus
  476.                     before the menu system was entered.  Calls the
  477.                     callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any exist.  If
  478.                     there are no help callbacks for this widget, this
  479.                     action calls the help callbacks for the nearest
  480.                     ancestor that has them.
  481.  
  482.           MMMMAAAAnnnnyyyy KKKKCCCCaaaannnncccceeeellll:
  483.                     In a MenuBar, disarms the CascadeButton and the
  484.                     menu and, when the shell's keyboard focus policy
  485.                     is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, restores keyboard focus to the
  486.                     widget that had the focus before the menu was
  487.                     entered.
  488.  
  489.                     In a toplevel Pulldown MenuPane from a MenuBar,
  490.                     unposts the menu, disarms the MenuBar
  491.                     CascadeButton and the MenuBar, and, when the
  492.                     shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT,
  493.                     restores keyboard focus to the widget that had the
  494.                     focus before the MenuBar was entered.  In other
  495.                     Pulldown MenuPanes, unposts the menu.
  496.  
  497.                     In a Popup MenuPane, unposts the menu and, when
  498.                     the shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT,
  499.                     restores keyboard focus to the widget from which
  500.                     the menu was posted.
  501.  
  502.           KKKKDDDDoooowwwwnnnn:    If the current menu item has a submenu and is in a
  503.                     MenuBar, then this action posts the submenu,
  504.                     disarms the current menu item, and arms the
  505.                     submenu's first traversable menu item.
  506.  
  507.                     If the current menu item is in a MenuPane, then
  508.                     this action disarms the current menu item and arms
  509.                     the item below it.  This action wraps within the
  510.                     MenuPane.  When the current menu item is at the
  511.                     MenuPane's bottom edge, then this action wraps to
  512.                     the topmost menu item in the column to the right,
  513.                     if one exists.  When the current menu item is at
  514.                     the bottom, rightmost corner of the MenuPane, then
  515.                     this action wraps to the tear-off control, if
  516.                     present, or to the top, leftmost menu item.
  517.  
  518.           KKKKLLLLeeeefffftttt:    When the current menu item is in a MenuBar, then
  519.                     this action disarms the current item and arms the
  520.                     MenuBar item to the left.  This action wraps
  521.                     within the MenuBar.
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 4/30/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  533.  
  534.  
  535.  
  536.                     In MenuPanes, if the current menu item is not at
  537.                     the left edge of a MenuPane, this action disarms
  538.                     the current item and arms the item to its left.
  539.                     If the current menu item is at the left edge of a
  540.                     submenu attached to a MenuBar item, then this
  541.                     action unposts the submenu and traverses to the
  542.                     MenuBar item to the left, wrapping if necessary.
  543.                     If that MenuBar item has a submenu, it posts the
  544.                     submenu and arms the first traversable item in the
  545.                     submenu.  If the current menu item is at the left
  546.                     edge of a submenu not directly attached to a
  547.                     MenuBar item, then this action unposts the current
  548.                     submenu only.
  549.  
  550.                     In Popup or Torn-off MenuPanes, when the current
  551.                     menu item is at the left edge, this  action wraps
  552.                     within the MenuPane.  If the current menu item is
  553.                     at the left edge of the MenuPane and not in the
  554.                     top row, this action wraps to the rightmost menu
  555.                     item in the row above.  If the current menu item
  556.                     is in the upper, leftmost corner, this action
  557.                     wraps to the tear-off control, if present, or else
  558.                     it wraps to the bottom, rightmost menu item in the
  559.                     MenuPane.
  560.  
  561.           KKKKRRRRiiiigggghhhhtttt:   If the current menu item is in a MenuBar, then
  562.                     this action disarms the current item and arms the
  563.                     MenuBar item to the right.  This action wraps
  564.                     within the MenuBar.
  565.  
  566.                     In MenuPanes, if the current menu item is a
  567.                     CascadeButton, then this action posts its
  568.                     associated submenu.  If the current menu item is
  569.                     not a CascadeButton and is not at the right edge
  570.                     of a MenuPane, this action disarms the current
  571.                     item and arms the item to its right, wrapping if
  572.                     necessary.  If the current menu item is not a
  573.                     CascadeButton and is at the right edge of a
  574.                     submenu that is a descendent of a MenuBar, then
  575.                     this action unposts all submenus and traverses to
  576.                     the MenuBar item to the right.  If that MenuBar
  577.                     item has a submenu, it posts the submenu and arms
  578.                     the submenu's first traversable item.
  579.  
  580.                     In Popup or Torn-off menus, if the current menu
  581.                     item is not a CascadeButton and is at the right
  582.                     edge of a row (except the bottom row), this action
  583.                     wraps to the leftmost menu item in the row below.
  584.                     If the current menu item is not a CascadeButton
  585.                     and is in the bottom, rightmost corner of a Popup
  586.                     or Pulldown MenuPane, this action wraps to the
  587.                     tear-off control, if present, or else it wraps to
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 4/30/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  599.  
  600.  
  601.  
  602.                     the top, leftmost menu item of the MenuPane.
  603.  
  604.           KKKKUUUUpppp:      When the current menu item is in a MenuPane, then
  605.                     this action disarms the current menu item and arms
  606.                     the item above it.  This action wraps within the
  607.                     MenuPane.  When the current menu item is at the
  608.                     MenuPane's top edge, then this action wraps to the
  609.                     bottommost menu item in the column to the left, if
  610.                     one exists.  When the current menu item is at the
  611.                     top, leftmost corner of the MenuPane, then this
  612.                     action wraps to the tear-off control, if present,
  613.                     or to the bottom, rightmost menu item.
  614.  
  615.  
  616.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  617.           The bindings for virtual keys are vendor specific.  For
  618.           information about bindings for virtual buttons and keys, see
  619.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((3333XXXX)))).
  620.  
  621.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  622.           OOOObbbbjjjjeeeecccctttt((((3333XXXX)))), RRRReeeeccccttttOOOObbbbjjjj((((3333XXXX)))), XXXXmmmmCCCCrrrreeeeaaaatttteeeeLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX)))),
  623.           XXXXmmmmFFFFoooonnnnttttLLLLiiiissssttttCCCCrrrreeeeaaaatttteeee((((3333XXXX)))), XXXXmmmmSSSSttttrrrriiiinnnnggggCCCCrrrreeeeaaaatttteeee((((3333XXXX)))),
  624.           XXXXmmmmSSSSttttrrrriiiinnnnggggCCCCrrrreeeeaaaatttteeeeLLLLttttooooRRRR((((3333XXXX)))), and XXXXmmmmGGGGaaaaddddggggeeeetttt((((3333XXXX)))).
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.      Page 10                                         (printed 4/30/98)
  658.  
  659.  
  660.  
  661.